﻿#define _CRT_SECURE_NO_WARNINGS 1

//求出0～100000之间的所有“水仙花数”并输出。
//“水仙花数”是指一个n位数，其各位数字的n次方之和确好等于该数本身，
//如:153＝1 ^ 3＋5 ^ 3＋3 ^ 3，则153是一个“水仙花数”。
//#include <stdio.h>
//#include <math.h>
//int main()
//{
//	int i = 0;
//	int n = 0;
//	for (i = 0; i <= 100000; i++)
//	{
//		int j = 0, k = 0, sum = 0;
//		int count = 0;
//		int num[6] = { 0 };
//		n = i;
//		while (n)
//		{
//			num[j]  = n % 10;
//			n = n / 10;
//			count++;
//			j++;
//		}
//		for (k = 0; k < j; k++)
//		{
//			sum += pow(num[k], count);
//		}
//		if (sum == i)
//			printf(" %d", i);
//	}
//	return 0;
//}

//求Sn = a + aa + aaa + aaaa + aaaaa的前5项之和，其中a是一个数字，
//例如：2 + 22 + 222 + 2222 + 22222
//#include <stdio.h>
//int main()
//{
//	int a = 0;
//	int i = 0;
//	scanf("%d", &a);
//	int sum = a, num = a;
//	for (i = 10; i < 100000; i *= 10)
//	{
//		num = a * i + num;
//		sum += num;
//	}
//	printf("%d", sum);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	int a = 0;
//	int n = 0;
//	int i = 0;
//	int sum = 0;
//	int num = 0;
//	scanf("%d %d", &a, &n);
//	for (i = 0; i < n; i++)
//	{
//		num = num * 10 + a;
//		sum += num;
//	}
//	printf("%d", sum);
//	return 0;
//}


//喝汽水，1瓶汽水1元，2个空瓶可以换一瓶汽水，给20元，可以喝多少汽水（编程实现）。
//#include <stdio.h>
//int main()
//{
//	int money = 20, price = 1;
//	int empty = 0, num = 0;
//	empty = money / price;
//	num = empty;
//	while (empty > 1)
//	{
//		num += empty / 2;
//		empty = empty / 2 + empty % 2;
//	}
//	printf("%d", num);
//	return 0;
//}

////方法二：按照上述喝水和用瓶子换的规则的话，可以发现，其实就是个等差数列：money*2-1
//#include <stdio.h>
//int main()
//{
//	int money = 20;
//	printf("%d", 2 * money - 1);
//	return 0;
//}

//#include <stdio.h>
//int Fun(int n)
//{
//    if (n == 5)
//        return 2;
//    else
//        return 2 * Fun(n + 1);
//}
//int main()
//{
//    int ret = Fun(2);
//    printf("%d", ret);
//}

//#include <stdio.h>
//
//int Fib(int n)
//{
//	if (n <= 2)
//	{
//		return 1;
//	}
//	else 
//	{
//		return Fib(n - 1) + Fib(n - 2);
//	}
//}
//int main()
//{
//	int n = 0, ret = 0;
//	scanf("%d", &n);
//	ret = Fib(n);
//	printf("%d", ret);
//	return 0;
//}

//#include <stdio.h>
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	int i = 0;
//	for (i = 2; i < n; i++)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//	}
//	return c;
//}
//int main()
//{
//	int n = 0, ret = 0;
//	scanf("%d", &n);
//	ret = Fib(n);
//	printf("%d", ret);
//	return 0;
//}

//编写一个函数实现n的k次方，使用递归实现。
//#include <stdio.h>
//int Power(int x, int y)
//{
//	if (y == 1)
//		return x;
//	else return x * Power(x, y - 1);
//}
//int main()
//{
//	int n = 0;
//	int k = 0;
//	int ret = 0;
//	scanf("%d %d", &n, &k);
//	ret = Power(n, k);
//	printf("%d", ret);
//}

//写一个递归函数DigitSum(n)，输入一个非负整数，返回组成它的数字之和
//例如，调用DigitSum(1729)，则应该返回1 + 7 + 2 + 9，它的和是19
//输入：1729，输出：19
//#include <stdio.h>
//int DigitSum(unsigned int n)
//{
//	int num = 0;
//	if (n == 0)
//		return 0;
//	else
//	{
//		num = n % 10;
//		return num + DigitSum(n / 10);
//	}
//}
//int main()
//{
//	int n = 0;
//	int ret = 0;
//	scanf("%d", &n);
//	ret = DigitSum(n);
//	printf("%d", ret);
//
//}

//求阶乘
//#include <stdio.h>
//int Fact(int n)
//{
//	if (n == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n * Fact(n - 1);
//	}
//}
//int main()
//{
//	int n = 0;
//	int ret = 0;
//	scanf("%d", &n);
//	ret = Fact(n);
//	printf("%d", ret);
//}

//#include <stdio.h>
//int Fact(int n)
//{
//	int i = 0;
//	int sum = 1;
//	for (i = 1; i <= n; i++)
//	{
//		sum *= i;
//	}
//	return sum;
//}
//int main()
//{
//	int n = 0;
//	int ret = 0;
//	scanf("%d", &n);
//	ret = Fact(n);
//	printf("%d", ret);
//}

//递归方式实现打印一个整数的每一位
//#include <stdio.h>
//void Print(int n)
//{
//	if (n > 9)
//	{
//		Print(n / 10);
//		printf("%d ", n % 10);
//	}
//	else
//	{
//		printf("%d ", n % 10);
//	}
//}
//#include <stdio.h>
//void Print(int n)
//{
//	if (n > 9)
//	{
//		Print(n / 10);
//	}
//		printf("%d ", n % 10);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	Print(n);
//}

//交换两个变量（不创建临时变量）
//#include <stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	a = a ^ b;
//	b = a ^ b;
//	a = b ^ a;
//	printf("%d %d", a, b);
//	return 0;
//}

//描述:输入一个整数 n ，输出该数32位二进制表示中1的个数。其中负数用补码表示。
//数据范围：−2147483648 <= n <= 2147483647
//示例1
//输入：10
//返回值：2
//说明：十进制中10的32位二进制表示为0000 0000 0000 0000 0000 0000 0000 1010，其中有两个1。
//示例2
//输入：- 1
//返回值：32
//说明：负数使用补码表示 ， - 1的32位二进制表示为1111 1111 1111 1111 1111 1111 1111 1111，其中32个1

//负数实现不了
//int NumberOf1(int n) {
//    int count = 0;
//    while (n)
//    {
//        if (n % 2 == 1)
//            count++;
//        n = n / 2;
//    }
//    return count;
//}

//int NumberOf1(int n) {
//    int i = 0;
//    int count = 0;
//    for (i = 0; i < 32; i++)
//    {
//        if (n & (1 << i))
//            count++;
//    }
//    return count;
//}

//int NumberOf1(int n) {
//    int i = 0;
//    int count = 0;
//    while (n)
//    {
//        count++;
//        n = n & (n - 1);
//    }
//    return count;
//}

//描述：输入两个整数，求两个整数二进制格式有多少个位不同
//输入描述：两个整数
//输出描述：二进制不同位的个数
//示例1
//输入：22 33
//输出：5
//#include <stdio.h>
//int main() 
//{
//    int a = 0;
//    int b = 0;
//    int c = 0;
//    int count = 0;
//    scanf("%d %d", &a, &b);
//    c = a ^ b;
//    while (c)
//    {
//        count++;
//        c = c & (c - 1);
//    }
//    printf("%d", count);
//    return 0;
//}

#include <stdio.h>
int i;
int main()
{
    printf("%d", i);
    printf("%zd", sizeof(i));
    i--;
    if (i > sizeof(i))
    {
        printf(">\n");
    }
    else
    {
        printf("<\n");
    }
    return 0;
}